import type FormItem from "@/components/form/type/FormItem.ts";

/**
 * created by yangtong on 2025/6/19 下午10:08
 * <br />
 * 表单组件接受的参数
 */
export default interface FormProp<T extends Record<string, any> = Record<string, any>> {

    /**
     * 表单双向绑定的对象，表单中每个item都对应modelValue中的一个数据
     */
    modelValue: T
    /**
     * 表单结构
     */
    schema: FormItem<T>[]

    /**
     * 表单标题
     */
    title?: string

    /**
     * 统一标签宽度，默认80px
     */
    labelWidth?: number

    /**
     * 标题位置，默认left
     */
    labelPosition?: 'left' | 'right' | 'top' | 'bottom'

    /**
     * 每一行的列数，默认24
     */
    columns?: number

    /**
     * 表单项间距，默认16
     */
    gap?: number | [number, number];
}